Integrated circuits such as programmable integrated circuits may contain volatile memory elements in the form of static random access memory (SRAM) cells. In programmable integrated circuits, SRAM cells may serve as configuration random access memory (CRAM) cells. Programmable integrated circuits are a type of integrated circuit that can be programmed by a user to implement a desired custom logic function. CRAM cells are used to store configuration data supplied by the user. Once loaded, CRAM cells supply control signals to transistors to configure the transistors to implement the desired logic function.
Volatile memory elements such as SRAM and CRAM cells are typically based on cross-coupled inverters (i.e., latches). The memory elements are often arranged in arrays. In a typical array, data lines are used to write data into the memory elements and are used to read data from the memory elements that have been loaded with data. Address lines may be used to select which of the memory elements are being accessed.
A programmable integrated circuit typically contains memory circuitry having a mix of single-port memory elements and dual-port memory elements. The single-port memory elements can be used only as single-port memory elements, whereas the dual-port memory elements can be used as either single-port memory elements or dual-port memory elements. A certain number of the dual-port memory elements may be used as single-port memory elements during operation of the programmable integrated circuit, depending on the custom logic function defined by the user.
For example, consider a scenario in which the memory circuitry is used in a single-port mode. In the single-port mode, a large subset of the dual-port memory elements may be operated as single-port memory elements. As a result, a significant amount of hardware (i.e., hardware such as sense amplifiers and word line drivers that would have otherwise been used during dual-port operation) is not being used and is wasted when the dual-port memory elements are configured in the single-port mode.